package com.industrial.premu.service;

import java.util.List;

import com.industrial.common.core.web.domain.AjaxResult;
import com.industrial.premu.domain.PreMuIndexWeight;
import com.industrial.premu.domain.PreMuIndexWeightMain;
import com.industrial.premu.dto.IndexWeightParamsDto;
import com.industrial.premu.vo.PreMuIndexWeightMainVo;
import org.apache.poi.ss.usermodel.Workbook;

/**
 * 指标管理主Service接口
 *
 * @author SangGuangCan
 * @date 2024-01-23
 */
public interface IPreMuIndexWeightMainService
{
    /**
     * 查询指标管理主
     *
     * @param baseId 指标管理主主键
     * @return 指标管理主
     */
    public PreMuIndexWeightMain selectPreMuIndexWeightMainByBaseId(String baseId);

    /**
     * 查询指标管理主列表
     *
     * @param preMuIndexWeightMain 指标管理主
     * @return 指标管理主集合
     */
    public List<PreMuIndexWeightMain> selectPreMuIndexWeightMainList(PreMuIndexWeightMain preMuIndexWeightMain);

    /**
     * 新增指标管理主
     *
     * @param preMuIndexWeightMain 指标管理主
     * @return 结果
     */
    public AjaxResult insertPreMuIndexWeightMain(PreMuIndexWeightMain preMuIndexWeightMain);

    /**
     * 修改指标管理主
     *
     * @param preMuIndexWeightMain 指标管理主
     * @return 结果
     */
    public AjaxResult updatePreMuIndexWeightMain(PreMuIndexWeightMain preMuIndexWeightMain);

    /**
     * 批量删除指标管理主
     *
     * @param baseIds 需要删除的指标管理主主键集合
     * @return 结果
     */
    public int deletePreMuIndexWeightMainByBaseIds(String[] baseIds);

    /**
     * 删除指标管理主信息
     *
     * @param baseId 指标管理主主键
     * @return 结果
     */
    public int deletePreMuIndexWeightMainByBaseId(String baseId);

    AjaxResult queryIndexValue(PreMuIndexWeightMain preMuIndexWeightMain);

    PreMuIndexWeightMain selectOne(PreMuIndexWeightMain indexWeightParams);

    /**
     * 导出指标管理数据
     * @param preMuIndexWeightMain
     * @return
     */
    Workbook exportIndexManange(PreMuIndexWeightMain preMuIndexWeightMain);

    /**
     * <p>
     *     新增指标管理
     * </p>
     * @param preMuIndexWeight
     * @return
     */
    void addIndexManager(PreMuIndexWeight preMuIndexWeight);

    PreMuIndexWeightMainVo selecPreMuIndexWeightMain(IndexWeightParamsDto indexWeightParams);

    List<PreMuIndexWeightMainVo> weightList(IndexWeightParamsDto indexWeightParams);

    int weightCount(IndexWeightParamsDto indexWeightParams);

}
